// IMyAidlInterface.aidl
package net.wyf.myaidlserver;
import net.wyf.myaidlserver.User;
import net.wyf.myaidlserver.ICallListener;

// Declare any non-default types here with import statements

interface IMyAidlInterface {
    /**
     * Demonstrates some basic types that you can use as parameters
     * and return values in AIDL.
     */
    double add(double a,double b);

    //测试回调，过5秒之后返回数据
    void testLister();

    String inUserInfo(in User user);//in：参数由客户端设置，或者理解成客户端传入参数值。 out：参数由服务端设置，或者理解成由服务端返回值。 inout：客户端输入端都可以设置，或者理解成可以双向通信

    String outUserInfo(out User user);

    String inOutUserInfo(inout User user);

    User getData();

    /**
       *@param listener 注册回调
    */
    void registListener(ICallListener listener);
    /**
        *@param listener 注销回调
    */
    void unRegistLitener(ICallListener listener);
}
